<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h2>变量声明</h2>
    <ul>
        <li>
            JavaScript中，使用一个变量之前，先用var关键字声明它，变量如果没有赋值，则初始化值为undefined
        </li>
        <li>
            声明变量时，如果不写var，则会被定义为全局变量，而且并不是在函数内部写了变量，这个变量就属于这个函数的作用域；必须用var来声明，这个变量才会属于这个作用域
        </li>
    </ul>

    <h2>变量提升</h2>
    <ul>
        <li>  console.log(a);     //undefined</li>
        <li>    var a = 1;</li>
        <li>   console.log(a);    // 1</li>
    </ul>
    <ul>
        <li>上面代码首先在控制台显示未声明的变量,本来是错误的做法但是没有报错.因为JS的变量提升.真正运行的是以下代码</li>
        <li>   var a ;</li>
        <li>  console.log(a);     //undefined</li>
        <li>    var a = 1;</li>
        <li>   console.log(a);    // 1</li>
    </ul>
</h5>

</body>
</html>